// 百度：判断这个字符串是不是回文字符串
var isPlialindrome = function(input){
  if(typeof input !== "string") return false;
  return input.split("").reverse().join("") === input;
};

var isPlialindrome = function (input) {
    if(typeof input !== "string") return false;
    let i = 0,j = input.length - 1;
    while(i < j){
        if(input.charAt(i) !== input.charAt(j)) return false;
        i ++;
        j --;
    }
    return true;
};
console.log(isPlialindrome("abcba"));

// 给定一个字符串，请你找出其中不包含重复字符的最长字符的长度
// 输入："abcabcbb"
// 输出：3
//输入："bbbbb"
//输出：1
//输入："pwwkew"
//输出：3
var str = "abcabcbb";
var lengthOfLongestSubString = function(str){
    let arr = [],max = 0;
    for(let i = 0;i < str.length;i ++){
        let index = arr.indexOf(str[i]);
        if(index !== -1){
            arr.splice(0,index + 1);
        }
        arr.push(str.charAt(i));
        max = Math.max(arr.length, max);
    }
    return max;
};

var lengthOfLongestSubString = function(str){
    let index = 0,max = 0;
    for(let i = 0,j = 0;j < str.length;j ++){
        index = str.substring(i,j).indexOf(str.charAt(j));
        if(index !== -1){
            i = i + index + 1;
        }
        max = Math.max(max,j - i + 1);
    }
    return max;
};

var lengthOfLongestSubString = function(str){
    let map = new Map(),max = 0;
    for(let i = 0,j = 0;j < str.length;j ++){
        if(map.has(str[j])){
            i = Math.max(map.get(str[j]) + 1, i);
        }
        max = Math.max(max , j - i + 1);
        map.set(str[j], j);
    }
    return max;
};
console.log(lengthOfLongestSubString(str));
